#ifndef SIMPLESHADER_H_
#define SIMPLESHADER_H_

#include "CgShaderInterface.h"

class SimpleShader: public CgShaderInterface
{
private:
protected:
	CGparameter cg_eyePos;
public:
	SimpleShader();
	~SimpleShader();

	bool CgShaderInit(HWND a_hWnd, CGcontext a_cg_context,
		CGprofile a_cg_vertProfile, CGprofile a_cg_fragProfile);

	std::vector<boost::function<void(const fmath::vector3&)>> SignUpForVecInfo();
	std::vector<boost::function<void(float)>> SignUpForFloatInfo();

	inline void SetEyePos(const fmath::vector3& a_vec)
	{
		cgGLSetParameter4f(cg_eyePos, 
			a_vec.x, a_vec.y, a_vec.z, 1.0);
	}
};

#endif //SIMPLESHADER_H_